﻿/*
 * 自定义类,主要是通过继承QWebEngineView重写createWindow函数从而支持链接跳转
*/
#ifndef QWEBENGINEVIEWPLUS_H
#define QWEBENGINEVIEWPLUS_H

#include <QWebEngineView>
#include <QMainWindow>
#include <qurl.h>

class QWebEngineViewPlus : public QWebEngineView
{
    Q_OBJECT
public:
    explicit QWebEngineViewPlus(QWidget *parent = nullptr);

private slots:

    void slot_LinkHovered(const QString& url);

protected:
    //这个函数应该是由底层的QWebEnginePage发起调用的，如果不想新建QWebEngineView，在这儿重写。
    //由于源码中对这一块有些小bug,所以不支持点击链接跳转,这里重写就是为了支持跳转
    QWebEngineView * createWindow(QWebEnginePage::WebWindowType type) override;

private:
    QUrl	url_;

};

#endif // QWEBENGINEVIEWPLUS_H
